<!Doctype html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<title>为猿七年有余，痒否？痛否？ | 菜鸟教程</title>

  <meta name='robots' content='max-image-preview:large' />
<link rel='stylesheet' id='classic-theme-styles-css' href='../0/classic-themes.min.css?ver=6.2' type='text/css' media='all' />
<link rel="canonical" href="../w3cnote/a-programmer-summary.html" />
<meta name="keywords" content="为猿七年有余，痒否？痛否？">
<meta name="description" content="还未有感，已然岁末，犹叹时之箭逝去如斯也，稍纵命再减一。回首望，为猿七年有余已，虽不成气候，亦未全蹉跎。略做小结，以不惘逝去之时日，亦会大益于尔后路途。若博文能助足下之一二，孤将甚悦。  职业是无数个连接起来的马拉松  小学时，我们很清楚的知道5年后就毕业了（孤当年是五年制，现在貌似有的地方也是），无论多么讨厌老师或者同学，或者学校，都知道最多忍5年就结束了；初中高中也一样，三四年样子，很快就过去了，多少欢乐悲喜都会很快地过去；大学更是..">
		
	<link rel="shortcut icon" href="https://static.runoob.com/images/favicon.ico">
	<link rel="stylesheet" href="../0/style.css?v=1.170" type="text/css" media="all" />	
	<link rel="stylesheet" href="../0/font-awesome.min.css" media="all" />	
  <!--[if gte IE 9]><!-->
  <script src=""></script>
  <!--<![endif]-->
  <!--[if lt IE 9]>
     <script src=""></script>
     <script src=""></script>
  <![endif]-->
  <link rel="apple-touch-icon" href="https://static.runoob.com/images/icon/mobile-icon.png"/>
  <meta name="apple-mobile-web-app-title" content="菜鸟教程">
</head>
<body>

<!--  头部 -->
<div class="container logo-search">

  <div class="col search row-search-mobile">
    <form action="index.php">
      <input class="placeholder" placeholder="搜索……" name="s" autocomplete="off">
      
    </form>
  </div>

  <div class="row">
    <div class="col logo">
      <h1><a href="../">菜鸟教程 -- 学的不仅是技术，更是梦想！</a></h1>
    </div>
        <div class="col right-list"> 
    <button class="btn btn-responsive-nav btn-inverse" data-toggle="collapse" data-target=".nav-main-collapse" id="pull" style=""> <i class="fa fa-navicon"></i> </button>
    </div>
        
    <div class="col search search-desktop last">
      <div class="search-input" >
      <form action="//www.runoob.com/" target="_blank">
        <input class="placeholder" id="s" name="s" placeholder="搜索……"  autocomplete="off" style="height: 44px;">
      </form>
      
      </div>
    </div>
  </div>
</div>



<!-- 导航栏 -->
<div class="container navigation">
    <div class="row">
        <div class="col nav">
            

                        <ul class="pc-nav" id="note-nav">
                <li><a href="../">首页</a></li>
                <li><a href="../w3cnote">笔记首页</a></li>
                <li><a href="../w3cnote/android-tutorial-intro.html" title="Android 基础入门教程">Android</a></li>
                <li><a href="../w3cnote/es6-tutorial.html" title="ES6 教程">ES6 教程</a></li>
                <li><a href="../w3cnote/ten-sorting-algorithm.html" title="排序算法">排序算法</a></li>
                <li><a href="../w3cnote/hadoop-tutorial.html" title="Hadoop 教程">Hadoop</a></li>
                <li><a href="../w3cnote/zookeeper-tutorial.html" title="Zookeeper 教程">Zookeeper</a></li>
                <li><a href="../w3cnote/verilog-tutorial.html" title="Verilog 教程">Verilog</a></li>
                <li><a href="../w3cnote_genre/code" title="编程技术">编程技术</a></li> 
                <li><a href="../w3cnote_genre/coderlife" title="程序员人生">程序员人生</a></li>
                
                <!--<li><a href="javascript:;" class="runoob-pop">登录</a></li>
                
                
                        <li>
                <a style="font-weight:bold;" href="../linux/linux-tutorial.html#yunserver" target="_blank" onclick="_hmt.push(['_trackEvent', 'aliyun', 'click', 'aliyun'])" title="kkb">云服务器</a>
                </li>
                <li><a href="http://gk.link/a/104mQ" target="_blank" style="font-weight: bold;"onclick="_hmt.push(['_trackEvent', '极客时间', 'click', 'jike'])" title="我的圈子">极客时间</a></li>
            
                
                <li><a target="_blank" href="../shoppinglist" rel="nofollow">知识店铺</a></li> 
        -->
            </ul>
                        
              
            <ul class="mobile-nav">
                <li><a href="../w3cnote">首页</a></li>
                <li><a href="../w3cnote_genre/android" target="_blank" title="Android 基础入门教程">Android</a></li>
                <li><a href="../w3cnote/es6-tutorial.html" target="_blank" title="ES6 教程">ES6</a></li>
                <li><a href="../w3cnote_genre/joke" target="_blank" title="程序员笑话">逗乐</a></li>
                
                <a href="javascript:void(0)" class="search-reveal">Search</a> 
            </ul>
            
        </div>
    </div>
</div>


<!--  内容  -->
<div class="container main">
	<div class="row">

		<div class="col middle-column big-middle-column">
	 			<div class="article">
			<div class="article-heading">
				<h2>为猿七年有余，痒否？痛否？</h2>				<h3><em>分类</em> <a href="../w3cnote_genre/coderlife" title="程序员人生" >程序员人生</a> </h3>
			</div>
			<div class="article-body note-body">
				<div class="article-intro">
					<p>还未有感，已然岁末，犹叹时之箭逝去如斯也，稍纵命再减一。回首望，为猿七年有余已，虽不成气候，亦未全蹉跎。略做小结，以不惘逝去之时日，亦会大益于尔后路途。若博文能助足下之一二，孤将甚悦。</p>
<br>
<h2><strong>职业是无数个连接起来的马拉松</strong></h2>
<br>
<p>小学时，我们很清楚的知道5年后就毕业了（孤当年是五年制，现在貌似有的地方也是），无论多么讨厌老师或者同学，或者学校，都知道最多忍5年就结束了；初中高中也一样，三四年样子，很快就过去了，多少欢乐悲喜都会很快地过去；大学更是如此，从入学进校园那天起你就开始倒计时，知道四年后的一天要离开，再怎么珍惜，再怎么蹉跎，时间仍然以它亘古不变的速度在向着一个方向跑着。</p>
<br>
<p><img decoding="async" src="//www.runoob.com/wp-content/uploads/2017/01/TB2K0EEb8NkpuFjy0FaXXbRCVXa_715978679.jpg" alt="" width="620" height="430" class="alignnone size-full wp-image-18156" srcset="http://www.runoob.com/wp-content/uploads/2017/01/TB2K0EEb8NkpuFjy0FaXXbRCVXa_715978679.jpg 620w, http://www.runoob.com/wp-content/uploads/2017/01/TB2K0EEb8NkpuFjy0FaXXbRCVXa_715978679-300x208.jpg 300w" sizes="(max-width: 620px) 100vw, 620px" /></p>
<br>
<p>可职场呢？过了5年，你还在工作，还得工作；过了10年，过20年，30年甚至40年后，我们仍要工作。即使离职，也还要再入职，而且新工作跟之前没有本质的区别。明白了职场是一个40年的大周期，所以，这是一个超长的马拉松，没有中考冲刺，没有高考冲刺，更没有考个好大学，就可以随便玩了。没必要玩了命的冲刺，那样也没有好效果。更重要的是持续不断的学习，对，持续几十年的学习。</p>
<br>
<h2><strong>成为高手，或者大牛的唯一途径是不断的学习</strong></h2>
<br>
<p>不要梦想着进入大公司，进入牛逼的团队，坐在大牛旁边，或者多参加线下活动就可以成为大牛。这都是图样图奶衣物。大公司为什么要你？牛逼的团队为什么要你？首先你要有点本事才行；想要得到牛人的指点，是靠运气的。可能是电视剧看多了：你掉进山谷中，然后遇到了一个白猿，肚子里藏着九阳真经？或者滚下山谷，看到一个大雕，学会独孤九剑？芸芸众生全国数以百万计的程序猿，你觉得能遇到大神的机会有几成？大神愿意与你交流的机会又有多大？梦想大神手把手教你？除非你是他炮友。</p>
<br>
<p>当然，也确实有人足够幸运能够得到高人指点一二。但我们相信绝大多数人，即使牛人在你身边，你也没有足够的机会让他指点。公司雇我们来，是让我们干活的，让我们产生价值，为公司赚钱的。牛人的任务更重，事情更多，凭什么还让人指导你。</p>
<br>
<p>大公司资源和资料是多，培训的机会也多，但是也要你自己去看，去听去学习啊。各种线下活动，打广告的占大多数，其他的演讲也大都是提及皮毛，想要学到干货是不可能的，几十分钟他能讲出来多少？你又能领悟多少？所以线下活动是推广，开拓视野（能听到很多概念），拓宽人脉（确实能认识好多人，牛人和同水平的人）的好机会，而不是学习的机会。</p>
<br>
<p>一句话，想要成为高手，还是要去脚踏实地的学习，去啃书，去读代码，去撸代码，别无他法。关于这方面，可以参考一位大牛的文章（<a href="../w3cnote/how-to-became-tech-giant.html" target="_blank">天天写业务代码，如何成为技术大牛？</a>），我觉得很在理。</p>
<br>
<h2><strong>选择一个行业，或者一门技术，然后深耕</strong></h2>
<br>
<p>虽然，不提倡像某些人那样做什么五年计划，因为我们所处的行业，公司，项目，人事等变化的太快了，这些变化都是不确定因素，会打乱所有的计划，特别是长期计划。但是我们还是要有目标的，我相信对于大部分人，最终极的目标无非就是财务自由。如何才能财务自由，运气确实有一定作用，但更重要的还是要硬实力。什么是硬实力？也就是你能解决别人解决不了的问题，比如老板想作某一块的业务，你对业务规则特别熟悉，能带队帮老板搞定；再如，技术上遇到了问题，你能搞得定。没有实力，光有运气，即使你遇到了淘宝的崛起，现在也未必能财务自由。</p>
<br>
<p>硬实力从何而来？无非是积累。积累什么？才会越来越值钱？无非是行业或者技术。</p>
<br>
<p>什么是行业？汽车，是一个行业，金融是一个行业，服装是一个行业，旅游出行是一个行业等等；什么又是技术？安全，音频，Webkit，图像，深度学习等都是技术。身处一个行业，可能技术并不复杂用的都是常规技术，但是你能够对一个行业深入的了解，它有哪些游戏规则，有什么坑，有什么政策法规，有什么风险，怎么样做才会有最大收益，这些都是只有从事行业有一定时间后才会知晓的。技术，就更好理解了，使用封装好的技术是容易的，比如像WebView，使用起来很方便，但它的技术实现——WebKit却是非常复杂的，没个几年时间是搞不清楚的。</p>
<br>
<p>当然，能始终在同一个领域（无论是行业还是技术）深耕是不容易的，要靠运气的。但是要明白，只有深耕一个行业，或者一门技术才会让自己的价值最大化。所以，当有选择时，尽可能的向着目标靠近。</p>
<br>
<h2><strong>责任重于技术</strong></h2>
<br>
<p>程序员的工作，无论是互联网，还是企业软件，都是工程，都是对技术的应用。大多数情况下，大多数人在工作中不会遇到技术上无法解决的问题，或者世界级的难题。换句话说，工作中遇到的问题，即使你不会，或者不知道怎么解决，通过查阅资料，书籍，网络和同事的帮助，很快就可以解决。再者，把代码写好，做足测试，加强健壮，这些事情，也并不是需要太高深，太前沿的技术。只要用心就能做的很不错。</p>
<br>
<p>相反，那些工作做得糟糕的人，并不是因为技术水平很差，别人对他的评价一定是不负责任，正所谓态度决定一切，态度产生的后果就是责任。即使技术水平一般，但是态度很认真，工作很负责，这就是优秀的员工，也是对公司更有价值的员工；而一些即使技术很强，但是却态度差，不负责任，这类人就是混吃混喝等死的人，是迟早要被拨掉的毒瘤。</p>
<br>
<h2><strong>成为一个专业的程序猿</strong></h2>
<br>
<p>这里的专业，更多的是指形式，做事的方法，解释什么是专业前，先看一些例子，什么叫不专业：</p>
<br>
<ul class="list-paddingleft-2">
 	<li>电话面试时，不问对方能不能听清楚，就blahblahblah的开讲，结果讲了有十分钟，对方叹了一口气说，不好意思，信号不好，没听清。。。</li>
 	<li>比如电话面试时，候选人说我先找一个方便的地方，找到后，打电话过来，说找到了，然后就开始电面了，这是候选人打过来的电话啊。。。</li>
 	<li>比如开会迟到，比如开会时扯闲篇儿。。。</li>
 	<li>没弄清楚事情原委就妄下结论，特别是脾气急的人，甚至开始骂人。。。</li>
</ul>
<br>
<p>我相信这类事情举不胜举，我也非常肯定地相信，猿媛们在日常的工作也经常遇到这样的事情。我们针对此类事情常常会回应"不专业"，对，这就是不专业。</p>
<br>
<p>反过来就是专业：</p>
<br>
<p>电面前，先都问清楚对方是否能听清楚，然后再blahblah；候选人告诉你，我现在方便了可以电面了，这是一个通知啊。你要挂掉，然后再打过去；开会有明确的主题，不要迟到；弄清原委后，再骂人。。。等等。</p>
<br>
<h2><strong>闻道有先后，术业有专攻，如是而已。</strong></h2>
<br>
<p>知识是无穷无尽的，总有你不知道的，总有你不会的，即使你当了几十年的程序猿，号称啥都会，人送外号万事通，但想把你问倒，也不是难事儿，一个学校里的孩子也有你不知道的知识。软件行业，分为众多领域，都说隔行如隔山，但是不同的领域也有鸿沟，比如做客户端，后端，前端，驱动，游戏引擎，图形图像，安全等等。所以，我们要保持一颗求知的心和一个谦虚的态度，即使你是前端大牛，但当你遇到驱动上的问题，你就是个白痴，就要虚心地去学习，去向别人请教。</p>
<br>
<p>另外，就是面试时，身为掌握生杀大权的面试官，更是要拿出对候选人的尊重，不能因为别人的出身（非科班或大专），经历（小公司，外包公司），经验（经验少，项目无亮点），不是很对口（你需要客户端，他大部分经验是前端）等非技术原因，而在面试时故意刁难，或者"明摆着不想要你，但是为了应付领导不得不面试"，或者因为其他原因来鄙视候选人（曾遇到过，一个外企的人，鄙视国内公司的人，说国内都是抄外企的）。正所谓疑人不用，用人不疑，身为面试官，你可以pass掉这个人，这是你的权利，但是你必须尊重别人，即使这个人能力确实不咋地。谁都有低头的时候，外企就牛么？国内的外企不也是总部的外包，竟干点杂活儿，Motorola当年多么牛逼，待遇也好，招人也挑得不行，现在不也都树倒猢孙散！老话讲不要装逼，迟早遭雷劈！</p>
<br>
<h2><strong>如何停止迷茫的眼和沉降浮躁的心</strong></h2>
<br>
<p>每当迷茫的时候，都是对未来想太多，当下做的太少导致的；每当浮躁的时候，都是期望的太多，做到的又太少时导致的。无论将来，你怎么样，将去向哪里，最关键的，是要从当前开始，你无法梦想着直接飞到那里，没有直升机，也没有热气球可以拨地而起，只能从当前开始，脚踏实地的，一步一个脚印的往前走。</p>
<br>
<p>这还是有点空，有点鸡汤，下面来说说具体如何做：</p>
<br>
<ul class="list-paddingleft-2">
 	<li>首先，搞清楚你自己是做什么的？

对，死写代码的。写哪一层代码的？安卓？水果？应用？Frameworks？驱动？哪一领域的？图形图像？Webkit？网络？BlueTooth？金融？安全？什么，不写代码，只是维护解bug（有相当部分的人，比如安卓整机方案的人都是只维护解解bug），也一样，哪一层的，哪一领域的，搞清楚。
</li>
 	<li>然后，弄清楚自己是干啥的了，这就好办了，把你该做的事情，做好，做熟悉，做到你只用半天时间就能完成一天该做的事情。
<br>
写代码，要学习如何把代码写的又好又快，也就是能快速地完成指定需求，bug又少，升华一下，又包括把代码写得清爽，易懂，结构合理，命名易懂等等，这个是基本功的修炼，且一直被人忽视，因为几乎所有公司的KPI里不会涉及到代码的好与坏，顶多是bug的多与少，crash率，性能和稳定性，这些是软件的指标，而非代码，衡量代码好与坏，最好的办法是看接手你代码的人的反应，看他骂你的次数。代码的修炼可以看《代码大全》《整洁代码之道》这些书，更重要的是看优秀的开源代码。
</li>
 	<li>另一个，就是熟悉现有的代码，争取做到，每当一个新需求过来时，你知道要改动哪些类，要在哪里添加新代码；改bug时，你想一想，就知道bug大概出现在什么位置，是哪个类，哪个方法导致的问题。</li>
 	<li>还有就是熟悉业务逻辑，任何软件都是为了实现业务而做的，熟悉业务逻辑，先是你负责的小模块的逻辑，然后是整个软件的业务逻辑，这对新评估需求，解bug，都非常有好处，你会站在一个整体的角度去思考。有一些具体的指标，比如你可以整理了需求文档，以及由此可以产生各种测试用例和场景，这对你验证代码的正确性很有帮助。</li>
 	<li>之后，就是准备好，并备份常用的测试环境，测试数据和测试用例，有新的需求，和解bug后，也都要整理并添加到测试库中，方便自测和回归。虽然有QA来保证软件质量，但是我们的软件，拿到给QA前起码要是能work的，需求要能满足的。总而言之，专业的程序员自己是要做足够的测试的。而测试，有时候不是那么的方便，比如，对于客户端而言，常发生的事情是，后端数据还没好，你需要mock数据；有些数据是少数场景才出现的，也需要mock着来测试；上线前要在测试环境里，用测试服务器来测试；等等。这里的意思是，如果你经常需要这些东西，比如mock数据啊，代理啊，等等，就要去花点心思，整理并备份，甚至想办法，写代码也好，用开源库也好，搭建好方便使用的测试环境，这对开发来说是很有帮助的。可能你会有印象，一个bug，改起来很容易，但是验证它却很困难，要挂代理，mock数据，模拟特殊场景，调整网络环境等等。</li>
 	<li>还要备份常用的环境配置，比如你的代码会针对不同的场景有不同的定制，这时，最好的方式是各拷贝一份，每一份都配置好，而不是用不同的分支，即使这也能做到。原因有二：
<br>
混了几年的后，我们深知，环境配置也是开发的一部分，而这通常都很麻烦，会让一个看起来十分钟搞定的事情，最终变成搞了二天，可能还没有搞定。现在的代码都很复杂，复杂之处在于，它本身不复杂，但是依赖特别复杂。大家常折腾开源软件，应该知道，一个库本身可能不复杂，但想要用它，要安装配置一坨一坨的依赖，试想一下，如果不用包管理器(apt-get，brew，pip之类）的，你自己手动去装一个opencv试试，或者直接编译它的源码试试。
<ul class="list-paddingleft-2">
 	<li>代码分支虽然可以区分不同的代码，但是环境依赖配置往往不会在repo里，意味着你切了分支后，还是要去搞一下环境配置，弄一弄依赖；</li>
 	<li>另外一个原因是并行的问题，假设你在A版本的分支上正在开发新功能，这时B版本（假设A与B是给不同客户的，二个分支有差别）要修Bug，你说你是切分支方便，还是说到另外一个目录去搞方便，我觉得还是这种物理隔离的要好。</li>
</ul>
</li>
 	<li>上面这些做到了后，我相信份内的事情对于你来说，都不是事儿了。这时，就要去深入学习了，把你所依赖的东西搞清楚。比如你用到了网络库，像OkHttp，像Retrofit，它们为什么比原生的要好用？它主要的原理是什么？它的封装思想？再如图片加载库UIL，Picasso等，它的原理是什么？所依赖的底层库，封装的都特别好，用起来很方便，越是这样的库，如果你只知道怎么用，那就完了。因为即使没用过的人，花几分钟看下教程也都知道怎么用。只有深入了解实现细节，并学习使用高级用法，才能不惘你用过一回这些优秀的库。</li>
 	<li>此外，无论是哪个领域，哪一层，性能调优都是一个高手的象征，项目的性能调优工作一般都是由高手来负责的。所以，如果你学习，并实践过性能调优，对技能的提升绝对是一个大推力，面试时也会是一个大大的加分项。</li>
 	<li>最后，就是用心，认真地对待工作，认真对待每一行代码，每一个bug。即使你不喜欢现在的工作，即使你觉得你现在就是在浪费时间，浪费生命，每天都改改bug，毫无乐趣，但你也要认真对待，把工作做好。所谓拿人钱财替人消灾，你拿了公司的薪水，就要把工作做好，他日你能高就，那是另外一回事，是他日的事情，今天你在这儿，就要把该做的事情做好。如果特别浮躁，眼高手低，总是糊弄，你觉得你能高就么？老板会把更重要的事情交给你？虽然，这个世界千奇百怪，确实有人不是因为技能得到了更高的工资，更好的工作，但我相信大部分情况下，还是成正比的，待遇比你好的人还是有正面的理由的。如果你不服，那么就更要用心地去努力，他日高就时，证明给别人看：老子比你们都强！</li>
</ul>
<br>
<p>如果你能做到上面建议的几点，略加坚持，不出半年，肯定会有质的变化。</p>
<br>
<h2><strong>去他妈的职业规划和长期计划</strong></h2>
<br>
<p>职业规划是一个方法论的东西，比他妈的设计模式还不靠谱。长期计划更是害人的东西，超过一年的计划，甚至超过6个月都是扯蛋。你去问那些大牛，没几个有他妈的明确的职业规划和长期计划的。他们的共同特点是：擅长深挖，能啃书，能读代码，思维活跃，思路清晰，解决问题时，人家的思路就比你的更优雅。</p>
<br>
<p>为什么说这玩意没卵用，是因为现实生活中变化真的太快了。项目，做几个月之后可能就不做了；人员，今天张三离职了，明天李四转岗了；没等你做完呢？需求改了，或者这个运营活动不做了，因为老板经费不给批。。。。</p>
<br>
<p>说个具体的身边的例子吧：去年团队来了个实习生，是按安卓客户端招的，来了后，头一个星期也是安排安卓的活儿，第二个星期，来了一个新的大需求，需要H5（Mobile HTML5），结果这孩子就要去做H5（要从头学JavaScript），过了大概三个月，公司政策变化，用不了那么多实习生，结果这孩子就得回学校了。如果你是这孩子，你连一个月的学习计划都没法实现，因为你都不知道下周，甚至明天会发生啥事情。</p>
<br>
<h2><strong>想要获得一个更好的成长学习环境就是要去大公司</strong></h2>
<br>
<p>去大公司还是小公司，这个可以列为与C和C++之争，GNOME和KDE之争以及Vim和Emacs之争同等的一个不朽的话题。孤认为，当你处在职场初期，比如刚毕业，或者毕业二三年之内，大厂无疑是一个非常好的选择，这里的大厂包括国内一流的公司比如BAT，网易等国内知名大厂，以及大的外企，如Intel，Microsoft，非死不可，谷哥等等。</p>
<br>
<p>接下来说原因：公司雇我们来是干活的，是为公司创造价值，是帮公司赚钱的，不是让你来学习，让你来开拓视野，让你来接近牛人，让你来讨论问题的。大厂，因为它很大，有稳定的收入来源和盈利能力，所以，它的节奏是有规律的，是相对宽松的，它的项目要么是成熟稳定的，要么不是为了短期盈利而开展的。所以，它在人才的培养方面，是有计划的，换句话说，能够容忍你去学习，甚至是稍微放慢一下工作任务（我说的是稍微放慢），因为公司也期望你去学习，提升自己的技术和能力，公司也会有这样的空间来接纳更好的你，说白了，有足够的空间让你提高和上升，更会有时间和耐心来让你完成这一过程。小厂能有这样的空间吗？能允许你说，我先学几个月？没准几个月后，你学成归来时，公司可能都倒了。</p>
<br>
<p>另外，大厂里人多，好人多，牛人多，坏人也有，水货也不少，你可以认识更多的人，你可以了解大厂是如何运作的，大厂是靠什么发展成为这么大，以及大厂如何保持运转而不衰落，大厂里，你可以有时间和空间去学习，能开阔视野，能拓展人脉，这都是小厂无法做到的。</p>
<br>
<p>一句话，当你处在职业的快速学习期时，大厂是最佳选择；而当你感觉学有所成，或者遇到了新的瓶颈时，这时小厂就是你大展拳脚的好去处。所以，你看，从BAT出来的人，无论是创业还是加盟创业，都是一个非常好的归宿，这是双赢，对于我们，小厂里空间更大，人少事多，是你施展大好舞台；而小厂也恰恰需要这种以一当十，即是CTO又是程序猿，即是开发又是运维的复合型人才。</p>
<br>
<h2><strong>沟通以及代码可维护性取决于作者是否能为他人着想</strong></h2>
<br>
<p>如果一个人肯为他人着想，会换位思考，我相信，他的沟通能力一定不会差；他写代码的可读性也不会太差。如果你不顾别人，只管自己说，说完拉倒，这怎么沟也不会通；如果你想不到别人会维护你的代码，甚至想不到日后自己也得看现在写的代码（看，都不为自己着想），这代码要是可维护，算孤白活。</p>
<br>
<h2><strong>攘外必先安内</strong></h2>
<br>
<p>委座这句话还是相当有水平和内涵的，也具有指导意义。我对这句话的理解是，小到个人，团队，部门，大到公司和国家不能同时进行二个或多个大事情，只有把一个搞定了，才能去搞其他的，有点不好理解，待孤慢慢讲。</p>
<br>
<p>所谓温饱思淫欲，当你下个饭辙都没有时，你还考虑什么泡妞？当你一门技术，一个编程语言，一个平台都没学明白的时候，想什么跨端，想什么技术的广度？都是扯蛋。到外挖井，挖的也不深，最终一辈子也挖不到水，正所谓10个10%不等于一个100%。</p>
<br>
<p>再比如团队，每次发版本都搞得鸡飞狗跳的，还谈什么XP，搞什么技术创新？好好地把业务需要的技术搞熟悉，搞透彻，先把份内的事情做好，轻松地做好，当你每次发版本都能轻松应对时，甚至原本10个人的活5个人就能搞定时，这时才是你去搞技术创新，搞什么UT啊，什么XP，什么技术驱动，什么工程师文化啊。</p>
<br>
<p>大到公司，当前的领域内，都没有占有稳定的市场份额时，就学人家搞什么布局，人家搞金融，你也搞，人家搞汽车，你也搞，人家搞影业，你也搞，这早晚会把自己玩儿死，就比如当下的贾布斯，乐视的电视，手机，体育，哪个占有稳定的市场份额了？哪个能担起养家的重任？这个时候你去玩布局？搞什么汽车？这就叫No zuo，No die。马老师是擅长布局，但是都是在一个领域垄断了时：当年搞淘宝，是因为B2B站稳了脚跟，能养家了，换句话说B2B已经做得差不多了，且占了大部分的市场份额，能赚钱，即使淘宝失败了，赔了钱，都不是事儿。后来搞阿里云，现在的什么影业，菜鸟，双H，这都是要持续砸钱的，为啥，因为淘宝和天猫能养得起整个阿里，即使这些都赔了，也赔得起。</p>
<br>
<p>大到国家也是如此，当人民还吃不饱穿不暖时，谈什么精神文明建设，谈什么科技创新？比如七八十年代的中国，十几年前的东南亚（那几个比较弱的国家，不是四小龙），搞什么环境保护，对于人类来说，当面临人类的自身的生存和环境保护的选择时，只能选择前者。所以，在一个不发达国家向中等发达国家迈进的时候，经济发展始终是第一位的，人类发展过程都一样，都是先污染，求发展，再治理。</p>
<br>
<p>说到这里，我相信你已经明白孤的意思了。</p>
<br>
<h2><strong>提高竞争力，以增值</strong></h2>
<br>
<p>什么是竞争力，我觉得就是要多多培养那些不是Google一下就能解决的问题的能力。说白了，就是知识体系。Google一下能解决的问题，一定是一个点。StackOverFlow也好，博客也好，说的都是一个点的问题，不可能太大，因为大了的话一篇文章怎么能讲得清楚。多个点，且经过连接就成体系，这是需要长时间多次Google，外加思考总结而形成的，这就是竞争力。也是老鸟的价值所在。</p>
<br>
<p>很多人都在争论，30岁以后要不要写代码啊？40岁以后怎么办啊？确实，随着年龄的增长，人的身体，精力都会走下坡，不能再像年轻时那样熬夜，所以30多岁的一线人员的处境非常的不容易。刚毕业的前几年，是快速成长期，只要你肯努力学习，技能水平，收入都是直线上升的，但是接近30岁的一线码农，再想技能水平收入直升，就相当的困难。家庭，生活和身体原因让你没有那么 多时间去学习了。这时，你能做的事情，刚毕业二三年的人也能做，他们精力更旺，身体更好，所以很多人要么转管理，要么转行，剩下的也总是在琢磨啥时候转。</p>
<br>
<p>我觉得，造成这种尴尬的境遇最重要的原因还是未能持续学习，未形成足够多的竞争力。即使你没成为管理者，没成为大拿级别的人物（现实生活中不可能每个30岁后都成为管理者，都成为大拿），如果你持续学习，不断提升竞争力，你总是会增值的，即使每年公司仅给你普涨工资。</p>
<br>
<p>工资，我们要以单位时间来算，假设月薪2150块，这其实是21.5x100得来的，你请一天假，是要扣掉100块的，再换算，8x12.5＝100，也就是说你的时薪是12.5大洋。二个人的月薪假设都是2150，但是一个人水平高，一天的活，2小时搞定，一个月的活一个星期搞定；跟另外一个天天还得加班才搞的完。哪个薪水高？当然，这里是做了很多简化，现实生活要比这个复杂。虽然，都有快速成长期，公司也有快速膨胀期，但最终，都会达到稳定，所谓稳定，就是你遇到瓶颈。比如像BAT等大厂里的大部分人，拿阿里来举例，绝大部分人，升到P7后，肯定就止步于此，不当主管升P8是很困难，而且只会越来越困难。那么这些人，每年只能被普涨工资，要想提高工资水平，只能靠提升自身工作效率来增值。</p>
<br>
<p>有人也许会说，这不太现实啊，活儿不一定会平均分配的，老油条可能会被分配更多的任务。其实，这个决定权在于自己，都已经是老油条了，看不到上升的希望了，为什么还要多干？这是一个屁股决定脑袋的时代，也可以理解为工资决定责任的时代，员工付出多少努力取决于给多少工资。说不好听的，给一个应届生的薪水，还指望着，干着架构师的活儿，担着CTO的责任，只有处在职业初期，快速学习成长的时候才会干，并且一旦感觉学有所成，立马高就。</p>
<br>
<p>总之，不断地学习和总结，多多培养竞争力，才能做到越老越值钱。</p>
<br>
<h2><strong>要事不一定非优先</strong></h2>
<br>
<p>当有多件大事情要做时，比如一个新功能，一个是已上线版本的几个bug，还有设计下个月的一个运营活动的技术方案，当这三个事情摆在面前时，只能先选择最重要的事情来做。这个确实是要应用要事为先的原则。</p>
<br>
<p>但假如，还有一些其他小事情要做：比如，充个话费；到网上买个东西；升级一个软件等，这些10分钟内可以搞定的小事情，最好还是先做了。这样你的头脑就清静了，不会老想着"要记得充话费啊"，这些小事情本来就容易被忘记了，所以大脑会潜意识地提醒我们。这会打扰正常的工作思维，影响思维的集中度，从而影响重要事情的效率。而且，按要事优先也会造成到晚上了这些小事情还没有做完，而推到第二天。</p>
<br>
<p>区分的原则就在于：如果一件小事情可以10分钟内搞定，那么就迅速搞定它。要明白，你的ToDo列表越短越好。那些需要半天或者一天才能搞定的事情，当然还是要按照要事优先的原则来办。</p>
<br>
<h2><strong>不要努力加班做业务，而是要加班学习</strong></h2>
<br>
<p>软件行业，加班是难免的，特别是互联网行业，现在的移动互联时代996更是一个普遍现象。也许会感觉到充实，也许会感觉到成就，也许会感觉到累？但是黄牛式的，天天加班做业务，起码对于个人的成长来说是最致命的。现在年底了，你回头想一下，这一年都做了什么？有哪些成长？你会发现，你做了很多事情，但是成长很少。遇到不会的东西，网上搜一搜，copy一下，就完了。业务做了那么多？你会有成就感么？程序员的成就感更多是源于自己的成长，能够做到以前做不到的事情，而非天天搬砖。</p>
<br>
<p>举个例子，你会盖房子，但这一年，都是在盖同样差不多规格的房子，能有多大长进？什么时候来一个盖漂亮城堡的活，你能接得住么？公司给我们钱，是让我们产生价值的，对于公司来说房子就是价值，只要我们能多产出房子就值了付给我们的薪水了，等哪天你老了，病了，不能盖房子了，他们立马会找一个更年轻力壮的人来替你。而你如何升级为盖城堡的人，公司根本不管。</p>
<br>
<p>所以，如果你感觉天天在搬砖，几个月了，甚至半年了，毫无进步，没学习新东西了，也没有搞清楚遇到的问题，这时就要注意了，要减慢搬砖的速度，哪怕不要KPI了，要停下来学习学习，总结思考一下，如何做得更好。比如，有些重复的工作，是不是可以用脚本，像打包，发布之类；比如对于产品和运营过来的需求，要合理地拒绝；比如对于重复性的运营活动，是不是可以搞些配置模板等等。</p>
<br>
<p>天天加班做业务，是不会有进步的。要想进步，只能学习。</p>
<br>
<h2><strong>学会聪明地做事</strong></h2>
<br>
<p>考试时，最好的方法是什么？不是瞎猜，不是自己做，而是抄正确的答案。一个活分配下来了，最好的方式是什么？不是自己干，即使你早已驾轻就熟，而是让别人替你完成。最省力，最轻松的做事方法是，让别人来做。完成一件事情的方法有很多，我们要选择成本最低的方式。</p>
<br>
<p>这里，不是说让大家投机取巧，把本该自己做的事情推给别人，当然如果你有那个本事推给别人，别人又愿意接也可以。而是说要聪明地做事，不要把精力耗在本该别人负责的事情上。比如，现在的软件依赖都比较复杂，问题通常都会通过上层来表现出来，如果你发现，这个是底层引起了，那就不要去查了（如果时间充实，为了学习和研究的情况除外），让相应的负责人来查就好了，他对此更加的熟悉，可能你花一天功夫也没弄明白的，人家一眼就搞定了。</p>
<br>
<p>再有就是，一些烦人的手工操作，重复性操作，要写脚本来完成。计算机最大的优势是能够重复且不犯错地完成任务，它的最大优势在于重复，人的重复性没有计算机好，而且会犯错，像拼写错误等。像打包，发布，等等很多事情都可以用脚本来完成。</p>
<br>
<h2><strong>学会利用程序员的优势</strong></h2>
<br>
<p>软件再也不是大学实验里，让人们琢磨不透，看起来很神秘的东西了，它已经融入了人们的生活，广场舞的大爷大妈们都也用上了智能手机，用上了微信，淘宝。我相信，问软件人员会修电脑的人会越来越少。这意味着我们每天都要跟软件打交道，离不开软件 了。身为会写软件的人，就要利用好自身的优势，下面来举例来说一说：</p>
<br>
<ul class="list-paddingleft-2">
 	<li>要能识别出各种钓鱼短信，欺诈短信电话；如果身为一个程序员还被电信诈骗骗了的话，只能说这个猿太失败了。</li>
 	<li>对于各种软件，也要能够识别出，哪个是真的，哪个山寨的，假的，哪个可能有病毒，哪个可能有木马。更要有安全意识，现在手机应用和网站的个人信息泄露非常严重，所以，更要注意管控手机应用的权限，能少注册网站就少注册等。除了自身要注意信息安全，更要提醒身边的人。</li>
 	<li>再比如，普通人获取信息的方式是上网站，用搜索引擎，但是猿媛是不是可以用爬虫呢？</li>
 	<li>再比如像抢红包，抢票，秒杀（不要去秒月饼哈）刷投票，刷评论等，普通人靠人肉，靠手工，靠发朋友圈，我们身为猿媛是一定要靠技术的，写个脚本，写段代码来帮我们完成这些事情，这也是我们从事的职业所带来的一个优势。</li>
</ul>
<br>
<blockquote>
<p>
来自：浪人的星空
<br>
作者：alexhilton
<br>
链接：http://blog.csdn.net/hitlion2008/article/details/54089376
</p>
</blockquote>				</div>
			</div>
			<div class="previous-next-links">
			<div class="previous-design-link">← <a href="../w3cnote/programmer-joke-frontend-backend.html" rel="prev"> 程序员幽默趣图（前后端篇）</a> </div>
			<div class="next-design-link"><a href="../w3cnote/a-programmer-stem-nobody-can-understand.html" rel="next"> 程序员的这个梗，其他人不懂…</a> →</div>
			</div>
						<div class="article-heading-ad" id="w3cnote-ad728">
			<script async src=""></script>
			<!-- 移动版 自动调整 -->
			<ins class="adsbygoogle"
			     style="display:inline-block;min-width:300px;max-width:970px;width:100%;height:90px"
			     data-ad-client="ca-pub-5751451760833794"
			     data-ad-slot="1691338467"
			     data-ad-format="horizontal"></ins>
			<script>
			(adsbygoogle = window.adsbygoogle || []).push({});
			</script>
			</div>
			<style>
@media screen and (max-width: 768px) {
	#w3cnote-ad728 {
		display: none;
	}
}
p.note-author {
    border-bottom: 1px solid #ddd;
    font-size: 18px;
    font-weight: bold;
    color: #78a15a;
    padding-bottom: 2px;
    margin-bottom: 4px;
}
</style>
<script>
var aid = 18117;
</script>
	</div>
		
	</div>
	<div class="listcol last right-column">




<!--
	<div class="tab tab-light-blue"> 订阅</div>
	<div class="sidebar-box">
		<div class="socialicons">
			<a href="../feed" class="rss">RSS 订阅</a>
		
			<form action="//list.qq.com/cgi-bin/qf_compose_send" method="post">
			<input type="hidden" value="qf_booked_feedback" name="t">
			<input type="hidden" value="4b67b6b6c1f5e792559940cab4aebb8f1126fba880bff1a8" name="id">
			<input class="placeholder" id="feed_email" name="to" value="输入邮箱 订阅笔记" autocomplete="off">
			<input type="submit" value="订阅" class="btn btn-primary">
			</form>
		
		</div>
 
	</div>
-->	



<!--
	<div class="sidebar-box cate-list">
	<div class="sidebar-box recommend-here list-link">
			<a href="javascript:void(0);" style="font-size: 16px; color:#64854c;font-weight:bold;">笔记列表</a>
		</div>

 

</div>
-->

	 <div class="sidebar-box cate-list">
		 		

	 	<div class="sidebar-box recommend-here list-link">
			<a href="javascript:void(0);" style="font-size: 16px; color:#64854c;font-weight:bold;">教程列表</a>
		</div>
		
		<div class="cate-items"> 
				<a href="../ado">ADO 教程</a>
	<a href="../ajax">Ajax 教程</a>
	<a href="../android">Android 教程</a>
	<a href="../angularjs2">Angular2 教程</a>
	<a href="../angularjs">AngularJS 教程</a>
	<a href="../appml">AppML 教程</a>
	<a href="../asp">ASP 教程</a>
	<a href="../aspnet">ASP.NET 教程</a>
	<a href="../bootstrap">Bootstrap 教程</a>
	<a href="../bootstrap4">Bootstrap4 教程</a>
	<a href="../bootstrap5">Bootstrap5 教程</a>
	<a href="../cprogramming">C 教程</a>
	<a href="../csharp">C# 教程</a>
	<a href="../cplusplus">C++ 教程</a>
	<a href="../chartjs">Chart.js 教程</a>
	<a href="../cssref">CSS 参考手册</a>
	<a href="../css">CSS 教程</a>
	<a href="../css3">CSS3 教程</a>
	<a href="../django">Django 教程</a>
	<a href="../docker">Docker 教程</a>
	<a href="../dtd">DTD 教程</a>
	<a href="../echarts">ECharts 教程</a>
	<a href="../eclipse">Eclipse 教程</a>
	<a href="../firebug">Firebug 教程</a>
	<a href="../font-awesome">Font Awesome 图标</a>
	<a href="../foundation">Foundation 教程</a>
	<a href="../git">Git 教程</a>
	<a href="../go">Go 语言教程</a>
	<a href="../googleapi">Google 地图 API 教程</a>
	<a href="../highcharts">Highcharts 教程</a>
	<a href="../htmldom">HTML DOM 教程</a>
	<a href="../tags">HTML 参考手册</a>
	<a href="../charsets">HTML 字符集</a>
	<a href="../html">HTML 教程</a>
	<a href="../http">HTTP 教程</a>
	<a href="../ionic">ionic 教程</a>
	<a href="../ios">iOS 教程</a>
	<a href="../java">Java 教程</a>
	<a href="../jsref">JavaScript 参考手册</a>
	<a href="../js">Javascript 教程</a>
	<a href="../jeasyui">jQuery EasyUI 教程</a>
	<a href="../jquerymobile">jQuery Mobile 教程</a>
	<a href="../jqueryui">jQuery UI 教程</a>
	<a href="../jquery">jQuery 教程</a>
	<a href="../json">JSON 教程</a>
	<a href="../jsp">JSP 教程</a>
	<a href="../julia">Julia 教程</a>
	<a href="../kotlin">Kotlin 教程</a>
	<a href="../linux">Linux 教程</a>
	<a href="../lua">Lua 教程</a>
	<a href="../markdown">Markdown 教程</a>
	<a href="../matplotlib">Matplotlib 教程</a>
	<a href="../maven">Maven 教程</a>
	<a href="../memcached">Memcached 教程</a>
	<a href="../mongodb">MongoDB 教程</a>
	<a href="../mysql">MySQL 教程</a>
	<a href="../nodejs">Node.js 教程</a>
	<a href="../numpy">NumPy 教程</a>
	<a href="../pandas">Pandas 教程</a>
	<a href="../perl">Perl 教程</a>
	<a href="../php">PHP 教程</a>
	<a href="../postgresql">PostgreSQL 教程</a>
	<a href="../python3">Python 3 教程</a>
	<a href="../python">Python 基础教程</a>
	<a href="../r">R 教程</a>
	<a href="../rdf">RDF 教程</a>
	<a href="../react">React 教程</a>
	<a href="../redis">Redis 教程</a>
	<a href="../rss">RSS 教程</a>
	<a href="../ruby">Ruby 教程</a>
	<a href="../rust">Rust 教程</a>
	<a href="../sass">Sass 教程</a>
	<a href="../scala">Scala 教程</a>
	<a href="../scipy">SciPy 教程</a>
	<a href="../servlet">Servlet 教程</a>
	<a href="../soap">SOAP 教程</a>
	<a href="../sql">SQL 教程</a>
	<a href="../sqlite">SQLite 教程</a>
	<a href="../svg">SVG 教程</a>
	<a href="../svn">SVN 教程</a>
	<a href="../swift">Swift 教程</a>
	<a href="../tcpip">TCP/IP 教程</a>
	<a href="../typescript">TypeScript 教程</a>
	<a href="../vbscript">VBScript 教程</a>
	<a href="../vue2">Vue.js 教程</a>
	<a href="../vue3">Vue3 教程</a>
	<a href="../w3c">W3C 教程</a>
	<a href="../webservices">Web Service 教程</a>
	<a href="../wsdl">WSDL 教程</a>
	<a href="../xlink">XLink 教程</a>
	<a href="../dom">XML DOM 教程</a>
	<a href="../schema">XML Schema 教程</a>
	<a href="../xml">XML 教程</a>
	<a href="../xpath">XPath 教程</a>
	<a href="../xquery">XQuery 教程</a>
	<a href="../xslfo">XSLFO 教程</a>
	<a href="../xsl">XSLT 教程</a>
	<a href="../data-structures">数据结构</a>
	<a href="../regexp">正则表达式</a>
	<a href="../quiz">测验</a>
	<a href="../browsers">浏览器</a>
	<a href="../quality">网站品质</a>
	<a href="../web">网站建设指南</a>
	<a href="../hosting">网站服务器教程</a>
	<a href="../design-pattern">设计模式</a>
			
		</div> 
		 	 </div>
</div>
	</div>
</div>


<!-- 底部 -->
<div id="footer" class="mar-t50">
   <div class="runoob-block">
    <div class="runoob cf">
     <dl>
      <dt>
       在线实例
      </dt>
      <dd>
       &middot;<a target="_blank" href="../html/html-examples.html">HTML 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../css/css-examples.html">CSS 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../js/js-examples.html">JavaScript 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../ajx/ajax-examples.html">Ajax 实例</a>
      </dd>
       <dd>
       &middot;<a target="_blank" href="../jquery/jquery-examples.html">jQuery 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../xml/xml-examples.html">XML 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../java/java-examples.html">Java 实例</a>
      </dd>
     
     </dl>
     <dl>
      <dt>
      字符集&工具
      </dt>
      <dd>
       &middot; <a target="_blank" href="../charsets/html-charsets.html">HTML 字符集设置</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="../tags/html-ascii.html">HTML ASCII 字符集</a>
      </dd>
     <dd>
       &middot; <a target="_blank" href="https://c.runoob.com/front-end/6939/">JS 混淆/加密</a>
      </dd> 
      <dd>
       &middot; <a target="_blank" href="https://c.runoob.com/front-end/6232/">PNG/JPEG 图片压缩</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="../tags/html-colorpicker.html">HTML 拾色器</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="..//c.runoob.com/front-end/53">JSON 格式化工具</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="..//c.runoob.com/front-end/6680/">随机数生成器</a>
      </dd>
     </dl>
     <dl>
      <dt>
       最新更新
      </dt>
                   <dd>
       &middot;
      <a href="../matplotlib/matplotlib-imread.html" title="Matplotlib imread() 方法">Matplotlib imre...</a>
      </dd>
              <dd>
       &middot;
      <a href="../matplotlib/matplotlib-imsave.html" title="Matplotlib imsave() 方法">Matplotlib imsa...</a>
      </dd>
              <dd>
       &middot;
      <a href="../matplotlib/matplotlib-imshow.html" title="Matplotlib imshow() 方法">Matplotlib imsh...</a>
      </dd>
              <dd>
       &middot;
      <a href="../matplotlib/matplotlib-hist.html" title="Matplotlib 直方图">Matplotlib 直方图</a>
      </dd>
              <dd>
       &middot;
      <a href="../python3/python-func-object.html" title="Python object() 函数">Python object()...</a>
      </dd>
              <dd>
       &middot;
      <a href="../python3/python-ai-draw.html" title="Python AI 绘画">Python AI 绘画</a>
      </dd>
              <dd>
       &middot;
      <a href="../w3cnote/cursor-editor.html" title="神辅助 Cursor 编辑器，加入 GPT-4 让编码更轻松！">神辅助 Cursor ...</a>
      </dd>
             </dl>
     <dl>
      <dt>
       站点信息
      </dt>
      <dd>
       &middot;
       <a target="_blank" href="mailto:admin@runoob.com" rel="external nofollow">意见反馈</a>
       </dd>
      <dd>
       &middot;
      <a target="_blank" href="../disclaimer">免责声明</a>
       </dd>
      <dd>
       &middot;
       <a target="_blank" href="../aboutus">关于我们</a>
       </dd>
      <dd>
       &middot;
      <a target="_blank" href="../archives">文章归档</a>
      </dd>
    
     </dl>
    
     <div class="search-share">
      <div class="app-download">
        <div>
         <strong>关注微信</strong>
        </div>
      </div>
      <div class="share">
      <img width="128" height="128" src="/wp-content/themes/runoob/assets/images/qrcode.png" />
       </div>
     </div>
     
    </div>
   </div>
   <div class="w-1000 copyright">
     Copyright &copy; 2013-2023    <strong><a href="../" target="_blank">菜鸟教程</a></strong>&nbsp;
    <strong><a href="../" target="_blank">runoob.com</a></strong> All Rights Reserved. 备案号：<a target="_blank" rel="nofollow" href="https://beian.miit.gov.cn/">闽ICP备15012807号-1</a>
   </div>
  </div>
  <div class="fixed-btn">
    <a class="go-top" href="javascript:void(0)" title="返回顶部"> <i class="fa fa-angle-up"></i></a>
    <a class="qrcode"  href="javascript:void(0)" title="关注我们"><i class="fa fa-qrcode"></i></a>
    <a class="writer" style="display:none" href="javascript:void(0)"   title="标记/收藏"><i class="fa fa-star" aria-hidden="true"></i></a>
    <!-- qrcode modal -->
    <div id="bottom-qrcode" class="modal panel-modal hide fade in">
      <h4>微信关注</h4>
      <div class="panel-body"><img alt="微信关注" width="128" height="128" src="/wp-content/themes/runoob/assets/images/qrcode.png"></div> 
    </div>
  </div>

 <div style="display:none;">
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-84264393-2"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-84264393-2');
</script>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?3eec0b7da6548cf07db3bc477ea905ee";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>

</div>
<script>
window.jsui={
    www: 'https://www.runoob.com',
    uri: 'https://www.runoob.com/wp-content/themes/runoob'
};
</script>

<script src=""></script>
<script src=""></script>

</body>
</html>